home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 2: CDPD 1 / Almathera Ten on Ten - Disc 2: CDPD 1.iso / pd / 076-100 / 092 / shar / fatal.c next >
C/C++ Source or Header  |  1995-03-13  |  1KB  |  45 lines

  1. /* Fatal.c
  2.  
  3.    Copyright (c) 1987 by F. G. Dufoe, III
  4.    All rights reserved.
  5.  
  6.    Permission is granted to redistribute this program provided the source
  7.    code is included in the distribution and this copyright notice is
  8.    unchanged.
  9.  
  10. */
  11.  
  12.  
  13. #include <stdio.h>
  14. #ifdef AMIGA
  15. #include <error.h>
  16. #include <exec/types.h>
  17. #else
  18. #include <errno.h>
  19. #include <ctype.h>
  20. extern int sys_nerr;
  21. extern char *sys_errlist[];
  22. #endif
  23.  
  24.  
  25. void
  26. fatal(string)
  27.    /* This function prints an error message passed by the calling program
  28.       and exits with an error code. */
  29. char *string;
  30. {
  31.    extern int errno;
  32.       /* This global variable is used to communicate error codes. */
  33.  
  34.    fprintf(stderr, "%s\n", string);
  35.       /* Print the error message passed by the calling program on standard
  36.          error. */
  37.    if (errno > 0 && errno < sys_nerr)
  38.       fprintf(stderr, "\t%d: %s\n", errno, sys_errlist[errno]);
  39.          /* If the error number is in the system error list print it and its
  40.             explanation on standard error. */
  41.    exit(errno);
  42.       /* Terminate the program and pass an error code back to the parent
  43.          program. */
  44. }
  45.